Systems and methods for recording

ABSTRACT

Included are embodiments for recording data from a communication. At least one embodiment includes receiving media data associated with the communication from a first communications device at a first receive port and sending the received media data to a first transmit port, wherein the first transmit port is coupled to a second receive port. Some embodiments include sending the received media data to a recording device via a connection with the recorder, the connection being located on the coupling of the first transmit port and the second receive port.

CROSS REFERENCE

This application is related to U.S. patent application Ser. No. 11/608,350, entitled “Recording in a Distributed Environment,” filed on the same day as this application, which is hereby incorporated by reference, in its entirety. This application is also related to U.S. patent application Ser. No. 11/608,340, entitled “Systems and Methods for Recording Data,” filed on the same day as this application, which is hereby incorporated by reference, in its entirety.

TECHNICAL FIELD

This application is related to recording at least a portion of a communication. More specifically, this application is related to recording at least a portion of a communication in a communications network.

BACKGROUND

In many communications environments, recording of communication data is desired. More specifically, oftentimes, users and/or organizations desire to capture data related to communications associated with one or more communications devices and/or other endpoints. While recording from a single communications device may be useful, users and organizations with a plurality of communications devices may desire to record data associated with two or more of the communications devices. Additionally, users and organizations may desire to implement automatic recording of communication data, such that a user need not actively initiate recording of a communication. As these users and organizations may desire increased functionality in their recording services, passively recording from each subscriber line via separate recording devices may prove unduly costly and inefficient. Similarly, actively recording communications may prove difficult due to reliability issues associated with a recording device.

SUMMARY

Included are embodiments for recording data from a communication. At least one embodiment includes receiving media data associated with the communication from a first communications device at a first receive port and sending the received media data to a first transmit port, wherein the first transmit port is coupled to a second receive port. Some embodiments include sending the received media data to a recording device via a connection with the recorder, the connection being located on the coupling of the first transmit port and the second receive port.

Other systems, methods, features, and/or advantages of this disclosure will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description and be within the scope of the present disclosure.

BRIEF DESCRIPTION

Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.

FIG. 1 is an exemplary embodiment of a communication network illustrating a plurality of components that may be utilized in facilitating a communication.

FIG. 2 is an exemplary embodiment of a Service Switching Point (SSP), similar to the SSPs from FIG. 1.

FIG. 3A is an exemplary embodiment of an implementation for passively recording a communication, such as between communications devices from FIG. 1.

FIG. 3B is an exemplary embodiment of an implementation for actively recoding a communication, such as between communications devices from FIG. 1.

FIG. 4 is an exemplary embodiment of an implementation for passively recording a communication from an SSP, such as the SSP from FIG. 2.

FIG. 5 is an exemplary embodiment of an implementation for passively recording a communication over a network, similar to the embodiment from FIG. 4.

FIG. 6 is a diagram illustrating an exemplary embodiment of passively tapping a communications line in an IP environment, similar to the diagram from FIG. 5.

FIG. 7A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the implementation from FIG. 3A.

FIG. 7B is a continuation of the exemplary embodiment FIG. 7A.

FIG. 8A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the implementation from FIG. 3B.

FIG. 8B is a continuation of the exemplary embodiment from FIG. 8A.

FIG. 9A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the implementation from FIG. 4.

FIG. 9B is a continuation of the exemplary embodiment from FIG. 9A.

FIG. 10A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the implementation from FIG. 5.

FIG. 10B is a continuation of the exemplary embodiment from FIG. 10A.

DETAILED DESCRIPTION

FIG. 1 is an exemplary embodiment of a communication network illustrating a plurality of components that may be utilized in facilitating a communication. As illustrated in the nonlimiting example of FIG. 1, communications devices 102 a, 102 b, 102 c, 102 d, and 102 e may be configured to facilitate communications among two or more users. Additionally, Service Switching Point (SSP) 104 a is coupled to communications device 102 a. SSP 104 a may be configured to facilitate a communications path between communications device 102 a and one or more other communications devices. SSP 104 a may be configured to originate, terminate, and/or switch communications sessions (e.g., telephone calls, and/or other communications). While SSP 104 may be configured to facilitate communication of media data (e.g., voice, screen, and/or other substantive data associated with the communication), SSP 104 may be configured to facilitate communication of control data via a signaling protocol, such as a Signaling System 7 (SS7) protocol. Control data may be configured to provide non-substantive data related to the communication, such as provide media data instruction information.

Similarly, communications devices 102 b and 102 c are coupled (electrically, communicatively, and/or physically) to SSP 104 b. Communications device 102 d is coupled to SSP 104 c and communications device 102 e is coupled to SSP 104 d. Additionally, SSP 104 a is coupled SSP 104 b and SSP 104 c, as well as Signal Transfer Point (STP) 106 a and STP 106 b. SSP 104 b and SSP 104 c are also coupled to STP 106 a and 106 b. SSP 104 c is coupled to SSP 104 d. SSP 104 d is coupled to STP 106 c and 106 d. Similarly, STP 106 a and STP 106 b are coupled to STP 106 d and 106 d.

One should note that SSP may include any of a plurality of different components, to provide the desired functionality. More specifically, as a nonlimiting example, at least one of the embodiments disclosed herein may substitute the SSP for any switching component, whether operating in a Time Division Multiplexing (TDM) environment and/or in an Internet Protocol (IP) environment.

STPs 106 may be configured as packet switches for control data associated with a communications session between users on communications devices 102. More specifically, STPs 106 may be configured to receive control data from SSP 104 and facilitate communication of the control data to a desired destination. As discussed above, STPs 106 may be configured to operate via the SS7 protocol and/or other protocols.

Additionally, STP 106 a and STP 106 b are also coupled to Signal Control Point (SCP) 108 a and SCP 108 b. Similarly, STP 106 c and STP 106 d are coupled to SCP 108 c and 108 d. In operation, SCPs 108 may be configured to store data that may be utilized for call processing. More specifically, SCPs 108 may be queried to determine how a communication is handled. As a nonlimiting example, one or more SCPs may be consulted to provide the translation of a toll free telephone number (and/or other address) to an actual phone number and facilitate billing of the owner of the toll free number for the communication.

In operation, the network of FIG. 1 may be configured to facilitate a communication among communications devices.

As a nonlimiting example, a user on communications device 102 a may desire a communication with a user on communications device 102 e. In such a scenario, a user may initiate the communication by dialing an address (e.g., telephone number and/or other address). The SSP 104 a may receive data associated with communication device 102 a and data associated with communications device 102 e. SSP 104 a may determine a desired path, such as a desired trunk to facilitate communication of media between users on communications devices 102 a and 102 e. Media data associated with the communication may be sent from SSP 104 a to SSP 104 c and then to SSP 104 d for delivery to communications device 102 e. Similarly, control data associated with the communication may be sent from SSP 104 a to STP 106 b. STP 106 b may send the control data to STP 106 d, which can send the control data to SSP 104 d.

One should also note, that while SSPs 104 are illustrated as a single component, one should note that in at least one embodiment, SSP 104 represents a plurality of components associated with a call center. As discussed in more detail below, a call center may include a local SSP, a call control server, and/or other data. Additionally, while some embodiments may be configured for implementation in a Time Division Multiplexing (TDM) environment, other environments are also contemplated.

FIG. 2 is an exemplary embodiment of a Service Switching Point (SSP), similar to the SSPs from FIG. 1. Although a wire-line device is illustrated, this discussion can be applied to wireless devices, as well. Generally, in terms of hardware architecture, as shown in FIG. 2, SSP 104 includes a processor 282, volatile and nonvolatile memory 284, a display interface 294, data storage 295, one or more input and/or output (I/O) device interface(s) 296, and/or one or more network interface 298 that are communicatively coupled via a local interface 292. The local interface 292 can include, for example but not limited to, one or more buses or other wired or wireless connections. The local interface 292 may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components. The processor 282 may be a device for executing software, particularly software stored in volatile and nonvolatile memory 284.

The processor 282 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the SSP 104, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions.

The volatile and nonvolatile memory 284 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and/or nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory 284 may incorporate electronic, magnetic, optical, and/or other types of storage media. One should note that the volatile and nonvolatile memory 284 can have a distributed architecture (where various components are situated remote from one another), but can be accessed by the processor 282. Additionally volatile and nonvolatile memory 284 can include routing logic 287, recording logic 288, presence logic 299, and/or an operating system 286. The operating system 286 may be configured to control the execution of other computer programs and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.

A system component and/or module embodied as software may also be construed as a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When constructed as a source program, the program is translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the volatile and nonvolatile memory 284, so as to operate properly in connection with the operating system 286.

The Input/Output devices that may be coupled to system I/O Interface(s) 296 may include input devices, for example but not limited to, a keyboard, mouse, scanner, microphone, etc. Further, the Input/Output devices may also include output devices, for example but not limited to, a printer, display, speaker, etc. Finally, the Input/Output devices may further include devices that communicate both as inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a media duplication system, a router, etc.

Additionally included are one or more network interfaces 298 for facilitating communication with one or more other devices. More specifically, network interface 298 may include any component configured to facilitate a connection with another device. While in some embodiments, among others, the SSP 104 can include a network interface 298 that includes a Personal Computer Memory Card International Association (PCMCIA) card (also abbreviated as “PC card”) for receiving a wireless network card, however this is a nonlimiting example. Other configurations can include the communications hardware within the computing device, such that a wireless network card is unnecessary for communicating wirelessly. Similarly, some embodiments may include network interfaces 298 for communicating via a wired connection. Such interfaces may be configured with Universal Serial Bus (USB) interfaces, serial ports, and/or other interfaces.

Additionally included in the nonlimiting example of FIG. 2 is a switching component 297. The switching component 297 may be configured to facilitate communication among two or more communications devices 102.

While one or more of the switch ports 283 may be configured as a receiving port, one or more of the switch ports 283 may be configured as a transmit port. Similarly, while the switching component 297 may be configured to allow an operator to determine the receiving and/or transmit ports that are utilized for a particular communication, SSP 104 may be configured with logic to determine which switch ports are utilized.

If SSP 104 includes a personal computer, workstation, or the like, the software in the volatile and nonvolatile memory 284 may further include a basic input output system (BIOS) (omitted for simplicity). The BIOS is a set of software routines that initialize and test hardware at startup, start the operating system 286, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the SSP 104 is activated.

When SSP 104 is in operation, the processor 282 may be configured to execute software stored within the volatile and nonvolatile memory 284, to communicate data to and from the volatile and nonvolatile memory 284, and to generally control operations of the client device 106 pursuant to the software. Software in memory, in whole or in part, may be read by the processor 282, perhaps buffered within the processor 282, and then executed.

One should note that while the description with respect to FIG. 2 includes an SSP 104 as a single component, this is a nonlimiting example. More specifically, in at least one embodiment, SSP 104 can include a plurality of servers, personal computers, and/or other devices. Similarly, while routing logic 287, recording logic 288 and presence logic 299 are each illustrated in FIG. 2 as single software components, this is also a nonlimiting example. In at least one embodiment, presence logic 299 may include one or more components, embodied in software, hardware, and/or firmware. Similarly, routing logic and/or recording logic 288 may include one or more logical components.

Additionally, while routing logic 287, presence logic 299, and recording logic 288 are depicted as residing on a single computing device, such as SSP 104, additional embodiments may include one or more devices, and presence logic 299 may include one or more components residing on one or more different devices.

Similarly, while the discussion with regard to FIG. 2 refers to a SSP 104, similar elements may also be included in other network components discussed herein. More specifically, a recorder, communications device, recorder controller, call control server, SCP, STP and/or other network elements may include similar components and/or functionality. Additionally, while components illustrated in FIG. 2 are illustrated as being part of an SSP 104, this is also a nonlimiting example, as other components may include the logic and/or functionality described in FIG. 2.

FIG. 3A is an exemplary embodiment of an implementation for passively recording a communication, such as between communications devices from FIG. 1. As illustrated in the nonlimiting example of FIG. 3A, a user on communications device 102 f may desire a communication session with a user on communications device 102 g. As such, the user of communications device 102 f may initiate a communication session to SSP 104 e, via a subscriber line, as illustrated with a solid line. SSP 104 e may be configured to receive control data, as well as media data associated with the communication. The media data may be sent to SSP 104 f, as illustrated with a large dashed line.

Additionally, control data may be sent to STP 106 e (which may be formatted in an SS7 protocol), as illustrated with a small dashed line. STP 106 e may send the control data to STP 106 f. Control data may then be sent to SSP 104 f. SSP 104 f can then facilitate the communication by sending the media data to communications device 102 g.

As also illustrated in the nonlimiting example of FIG. 3A, a recorder (which may be embodied as a hardware component, a software component, and/or a hybrid hardware/software component) 308 a may be passively coupled to the subscriber line between SSP 104 f and communications device 102 g. While such a configuration may provide recording functionality to communications device 102 g, such a configuration may prove unable to adequately provide the desired recording functionality. More specifically, as the recorder 308 a may be configured to passively record data from a point between SSP 104 e and SSP 104 f, the recorder in FIG. 3A may be unable to receive control data that would indicate control signals, such as signals that determine whether to record a particular communication, signals that determine when to start recording, when to end recording, and/or other control data.

FIG. 3B is an exemplary embodiment of an implementation for actively recoding a communication, such as between communications devices from FIG. 1. As illustrated in the nonlimiting example of FIG. 3B, communications device 102 h may initiate a communication with communications device 102 i. In this nonlimiting example, SSP 104 f receives data from communications device 102 h. SSP 104 f sends media data to SSP 104 g. SSP 104 f also sends control data to STP 106 g.

Additionally, SSP 104 g sends media data to recorder 308 b, which captures the data and sends data to SSP 104 g. Similarly, STP 106 g sends control data to recorder 308 b, which utilizes the control data to determine whether and/or when to begin and end recording. Recorder sends the control data back to STP 106 g. SSP sends the media data to communications device 102 i.

Similarly, some embodiments may be configured such that SSP 104 g sends media data to recorder 308 b, which is configured to interface directly with communications device 102 i. Regardless, the embodiment of FIG. 3B illustrates a configuration where the recorder 308 b actively records at least a portion of the communication. More specifically, as illustrated in this nonlimiting example, recorder 308 b is a party to the communication and/or is a pathway for the media data to travel between the communications devices 102. As such, these embodiments may rely on the recorder to facilitate the communication (as opposed to simply recording the communication).

FIG. 4 is an exemplary embodiment of an implementation for passively recording a communication from an SSP, such as the SSP from FIG. 2. As illustrated in the nonlimiting example of FIG. 4, communications device 102 j may be configured to initiate a communication with communications device 102 k. As such, data may be sent to SSP 104 h, as discussed above.

Similarly, STP 106 i may be configured to receive control data associated with the present communication. At least a portion of the control data may be sent to a local Call Control Server (CCS), which may include logic for interfacing with the recorder 308 c.

Additionally, media data may be sent from SSP 104 h to SSP 104 i. As illustrated, SSP 104 i may be configured such that one or more of receiver switch ports 283, as shown in FIG. 2, are coupled to one or more transmit switch ports 283.

Additionally, media data may be sent from SSP 104 h to SSP 104 i. As illustrated, SSP 104 i may be configured such that one or more of receiver switch ports 283 are coupled to one or more transmit switch ports 283. Thus media data is received from SSP 104 h via a first receive switch port 283. This data is output via a first transmit switch port 283. The first transmit switch port 283 is coupled to a second receive switch 283, such that the media data is sent along this path. The media data is then output to communications device 102 k via a second transmit switch port 283.

In the configuration of FIG. 4, the recorder 308 c may be passively coupled to the line between the first transmit switch port 283 and the second receive switch port 283. More specifically, as illustrated in this nonlimiting example, recorder 308 is not a party to the communication and/or does not facilitate the communication. As recorder 308 c is passively coupled to the link between the transmit switch port 283 and the receive switch port 283, reliability of the recorder is not an issue with regard to quality of the communication. Additionally, the recorder 308 c may receive control data via local CCS 410 a. Such a configuration provides the desired control data to facilitate the recording, while maintaining a passive recording configuration with regard to the media data.

Additionally, one should note that, while a single recorder 308 c is illustrated in FIG. 4, some embodiments may be configured such that SSP 104 i is coupled to a plurality of recorders and/or a recorder bank. In such a configuration, SSP 104 i (and/or other components) may be configured with logic to determine a desired recording for the present communication. Additionally, some embodiments may be coupled to a load balancer and/or link protector to facilitate routing of the media data to a desired recorder, according to current network conditions.

FIG. 5 is an exemplary embodiment of an implementation for passively recording a communication over a network, similar to the embodiment from FIG. 4. As illustrated in the nonlimiting example of FIG. 5, a communications device 102 l may be configured to initiate a communications with communications device 102 m. As such, data may be sent to an SSP 104 j. Similarly, control data may be sent to an STP 106 l, which sends at least a portion of the control data to a local CCS 410 b.

Similar to the configuration from FIG. 4, an IP gateway 512 a may be coupled to an SSP 104 j for receiving media data and/or control data. The IP gateway 512 a may also be coupled to an IP gateway 512 b. Additionally, a network 500 may be passively coupled to a line between the IP gateway 512 a and the IP gateway 512 b. The network 500, which may include the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), and/or other network, may be configured to send data to recorder bank 514 for recording. The recorder bank 514 may include one or more recorders 308 c, 308 d, and 308 e. Additionally, a recorder controller, link protector, and/or load balancer (not shown) may be coupled to the recorder bank 514 to facilitate efficient recording.

FIG. 6 is a diagram illustrating an exemplary embodiment of passively tapping a communications line in an IP environment, similar to the diagram from FIG. 5. As illustrated in the nonlimiting example of FIG. 6, control data may be received at an STP 106 i. The STP 106 i can send at least a portion of the control data to an STP 106 j. The STP 106 j can send data to and receive data from local CCS 410 b. At least a portion of the control data can be sent to an IP recorder 308 f. The STP 106 i may also send data to and receive data from an SSP 104 k.

Additionally, media data may be sent from a communications device 102 l to an SSP 104 k. The SSP 104 k may send at least a portion of the media data to an SSP 104 l. The SSP 104 l may send data to a LAN switch 604 a, which may send at least a portion of the media data to a LAN switch 604 b. The LAN switch 604 b can send at least a portion of the media data back to the SSP 104 j. Additionally, the IP recorder 308 f may passively connect with a communications line between the LAN switch 604 a and the LAN switch 604 b. From this passive connection, the IP recorder 308 f may receive media data for recording.

FIG. 7A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the implementation from FIG. 3A. As illustrated in the nonlimiting example of FIG. 7A, communications device A 102 can initiate a communication directed to communications device B 102 (Arrow 732). As discussed above, initiation of the communication may include sending data associated with the communications device A 102, as well as data related to the communications device B 102. SSP A 104 may receive this data and send media data to SSP B 104 (Arrow 734). Additionally, SSP A 104 sends an Initiating Address Message (IAM) to STP 106 (Arrow 736). STP 106 can send the IAM to SSP B 104 (Arrow 738). SSP B 104 can then send an Address Complete Message (ACM) to STP 106 (Arrow 740). SSP B 104 rings the line of communications device B 102 (Arrow 742).

FIG. 7B is a continuation of the sequence diagram from FIG. 7A. As illustrated, STP 106 sends the ACM to SSP A 104 (Arrow 744). The called party can answer the call and communications device B 102 sends indication that the call was answered to SSP B 104 (Arrow 746). Upon a user answering the call, SSP B 104 can send an Answer Message (ANM) to STP 106 (Arrow 748). STP 106 can then send the ANM to SSP A 104 (Arrow 750). At this point, the communications session between communications device A 102 and communications device B 102 is established (Arrow 752). As illustrated in the nonlimiting example of FIG. 3A, because the recorder 308 a is passively recording the communication without access to control data, recording functionality may be limited (Arrow 754).

FIG. 8A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the sequence diagram from FIG. 6A. As illustrated in the nonlimiting example of FIG. 8A, a communications device A 102 may initiate a communication directed to communications device B 102 (Arrow 832). The SSP A 104 can send media data to the SSP B 104 via an idle trunk (Arrow 834). The SSP A 104 can then send an IAM to the STP 106 (Arrow 836). STP 106 can then send the IAM to recorder 308 b (Arrow 838). The recorder 308 b can then send the IAM to the SSP B 102 (Arrow 840). SSP B then sends an ACM to the recorder 308 b (Arrow 844). The recorder 308 b can then send the ACM to the STP 106 (Arrow 846). The SSP B 104 can then ring the line of communications device B 102 (Arrow 848).

FIG. 8B is a continuation of the sequence diagram from FIG. 8A. As illustrated, the STP can then send the ACM to the recorder 308 b (Arrow 850). The recorder 308 b can then send the ACM to the SSP A 104 (Arrow 852).

Additionally, the called party can answer the call and the communications device B 102 can send an indication to the SSP B 104 (Arrow 854). The SSP B 104 then sends an ANM to the recorder 308 b. The recorder 308 b can then send the ANM to the STP 106 (Arrow 858). The STP 106 can send the ANM to the SSP A 104 (Arrow 860). At this point, the communications session may be established (Arrow 862). The SSP B 104 sends the media data to the recorder 308 b (Arrow 864).

As discussed with reference to FIG. 3B, the embodiment of FIGS. 8A and 8B may facilitate recording via an active connection of the recorder with the communication. As such a configuration may allow the receipt of control data associated with the communication, such a configuration may rely on the recorder to facilitate the communication. As such, if the recorder malfunctions, the integrity of the communication may suffer.

FIG. 9A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the sequence diagram from FIG. 7A. As illustrated in the nonlimiting example of FIG. 9A, a communications device A 102 may be configured to initiate a communication directed to a communications device B 102 (Arrow 932). An SSP A 104 can send media data to an SSP B 104 via an idle trunk (Arrow 934). The SSP A 104 can also send an IAM to the STP 106 (Arrow 936). The STP 106 can then send the IAM to the SSP B 104 (Arrow 938). The SSP B 104 then sends an ACM to a local CCS 410 a (Arrow 940). The SSP B 104 can then ring the line of communications device B 102.

FIG. 9B is a continuation of the sequence diagram from FIG. 9A. As illustrated, the local CCS 410 a may then send the ACM (or at least a portion of the ACM) to the SSP A 104 (Arrow 944). The called party can then answer the call and the communications device B 102 can send an indication to the SSP B 104 (Arrow 946). The SSP B 104 sends an ANM to the local CCS 410 a (Arrow 948). The local CCS 410 a can then send the ANM to the SSP A 104 (Arrow 950). At this point the communications session may be established (Arrow 952). The SSP B 104 may then send media data to recorder 308 c via a passive connection (Arrow 954). As discussed above, with regard to FIG. 4, by utilizing a connection between a transmit switch port and a receive switch port on the SSP 104, the recorder 308 c can passively record the communication while receiving signal data.

FIG. 10A is a sequence diagram illustrating an exemplary embodiment of actions that may be taken in recording a communication, similar to the sequence diagram from FIG. 8A. As illustrated in the nonlimiting example of FIG. 10A, a communications device A 102 can initiate a communication directed to communications device B 102 (Arrow 1032). An SSP A 104 can send media data to an SSP B 104 via an idle trunk (Arrow 1034). The SSP A 104 can then send an IAM to an STP 106 (Arrow 1036). The STP 106 can send the IAM to SSP B 104 (Arrow 1038). The SSP B 104 can send an ACM to the local CCS 410 b (Arrow 1040). The SSP B 104 can then ring the line of communications device B 102 (Arrow 1041).

FIG. 10B is a continuation of the sequence diagram from FIG. 10A. As illustrated, the local CCS 410 b can send the ACM to the SSP A 104 (Arrow 1042). The called party can then answer the call and communications device B 102 can send an indication to the SSP B 104 (Arrow 1044). The SSP B 104 can send an ANM to the local CCS 410 b (Arrow 1046). The local CCS 410 b can send the ANM to the SSP A 104 (Arrow 1048). At this point the call may be connected (Arrow 1050). The local CCS can then send control data to an IP gateway 512 (Arrow 1052). Additionally, the SSP B 104 can send media data to the IP gateway 512 via a passive connection (Arrow 1054). The IP gateway can then send the media data to a recorder and/or recorder bank 514 (Arrow 1056).

As discussed with respect to FIG. 5, embodiments disclosed herein may facilitate passive recording with a distributed recorder configuration. By utilizing a distributed recorder configuration, recorders efficiency may be maximized by utilizing routing logic that distributes recording in a substantially equal manner. Additionally, depending on the particular embodiment, a controller component (which may include an SCP) may include an SSP node, an Automatic Call Distributor (ACD) Private Branch Exchange (PBX), and/or other components.

Additionally, a call center may include, but is not limited to, outsourced contact centers, outsourced customer relationship management, customer relationship management, voice of the customer, customer interaction, contact center, multi-media contact center, remote office, distributed enterprise, work-at-home agents, remote agents, branch office, back office, performance optimization, workforce optimization, hosted contact centers, and speech analytics, for example.

Additionally included in this disclosure are embodiments of integrated workforce optimization platforms, as discussed in U.S. application Ser. No. 11/359,356, filed on Feb. 22, 2006, entitled “Systems and Methods for Workforce Optimization,” which is hereby incorporated by reference in its entirety. At least one embodiment of an integrated workforce optimization platform integrates: (1) Quality Monitoring/Call Recording—voice of the customer; the complete customer experience across multimedia touch points; (2) Workforce Management—strategic forecasting and scheduling that drives efficiency and adherence, aids in planning, and helps facilitate optimum staffing and service levels; (3) Performance Management—key performance indicators (KPIs) and scorecards that analyze and help identify synergies, opportunities and improvement areas; (4) e-Learning—training, new information and protocol disseminated to staff, leveraging best practice customer interactions and delivering learning to support development; and/or (5) Analytics—deliver insights from customer interactions to drive business performance. By way of example, the integrated workforce optimization process and system can include planning and establishing goals—from both an enterprise and center perspective—to ensure alignment and objectives that complement and support one another. Such planning may be complemented with forecasting and scheduling of the workforce to ensure optimum service levels. Recording and measuring performance may also be utilized, leveraging quality monitoring/call recording to assess service quality and the customer experience.

The embodiments disclosed herein can be implemented in hardware, software, firmware, or a combination thereof. At least one embodiment, disclosed herein is implemented in software and/or firmware that is stored in a memory and that is executed by a suitable instruction execution system.

If implemented in hardware, alternative embodiments disclosed herein can be implemented with any or a combination of the following technologies: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.

One should note that the flowcharts included herein show the architecture, functionality, and operation of a possible implementation of software. In this regard, each block can be interpreted to represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order and/or not at all. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

One should note that any of the programs listed herein, which can include an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a nonexhaustive list) of the computer-readable medium could include an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). In addition, the scope of the certain embodiments of this disclosure can include embodying the functionality described in logic embodied in hardware or software-configured mediums.

One should also note that conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more particular embodiments or that one or more particular embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

It should be emphasized that the above-described embodiments are merely possible examples of implementations, merely set forth for a clear understanding of the principles of this disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure. 

Therefore, at least the following is claimed:
 1. A method for recording data from a communication, comprising: receiving media data associated with the communication from a first communications device at a first receive port; sending the received media data to a first transmit port of the communications device, wherein the first transmit port is coupled to a second receive port of the communications device; sending the received media data from the first transmit port to the second receive port; sending the received media data to a second communications device via a second transmit port; and sending the received media data to a recording device via a connection with a recorder, the connection being located on the coupling between the first transmit port and the second receive port and wherein the connection with the recorder is a passive connection between the first transmit port and the second receive port.
 2. The method of claim 1, wherein the media data includes at least one of the following: voice data and screen data.
 3. The method of claim 1, wherein sending the received media data to a recording device includes sending the media data to a recorder bank.
 4. The method of claim 1, wherein the recorder is further configured to receive control data associated with the media data.
 5. The method of claim 4, wherein the control data is received via a local call control server.
 6. The method of claim 5, wherein the local call control server is configured to receive control data via a Signaling System 7 (SS7) protocol.
 7. The method of claim 1, wherein the media data is configured for communication in a Time Division Multiplexing (TDM) environment.
 8. The method of claim 1, wherein the media data is configured for communication in an Internet Protocol (IP) environment.
 9. The method of claim 1, wherein at least a portion of the media data is sent to a recorder controller, the recorder controller configured to determine a recorder for recording the media data.
 10. A method for recording data from a communication, comprising: receiving media data associated with the communication from a switch at a first receive port, wherein the media data is associated with a communication between a first communications device and a second communications device; sending the received media data to a first transmit port of the switch, wherein the first transmit port is coupled to a second receive port of the switch; sending the received media data from the first transmit port to the second receive port; sending the received media data to a second communications device via a second transmit port; and sending the received media data to a recorder bank via a passive connection with the recorder bank, the passive connection being coupled between first transmit port and the second receive port, wherein the recorder bank includes a plurality of recorders.
 11. The method of claim 10, wherein the connection with the recorder bank is a passive connection between the first transmit port and the second receive port.
 12. The method of claim 10, wherein the media data includes at least one of the following: voice data and screen data.
 13. The method of claim 10, wherein at least one of the recorders includes at least one of the following: a hardware-oriented recorder, a software-oriented recorder, and a hybrid hardware-software-oriented recorder.
 14. The method of claim 10, wherein sending the received media data to a recording bank includes sending the media data to a load balancer.
 15. The method of claim 10, wherein the recorder bank is further configured to receive control data associated with the media data.
 16. The method of claim 15, wherein the control data is received via a local call control server.
 17. The method of claim 16, wherein the local call control server is configured to receive control data via a Signaling System 7 (SS7) protocol.
 18. The method of claim 10, wherein the media data is configured for communication in a Time Division Multiplexing (TDM) environment.
 19. The method of claim 10, wherein the media data is configured for communication in an Internet Protocol (IP) environment.
 20. The method of claim 10, wherein at least a portion of the media data is sent to a recorder controller, the recorder controller configured to determine a recorder for recording the media data. 